-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve compatibility with Luxafor Bluetooth Pro devices #9
base: main
Are you sure you want to change the base?
Conversation
… that Bluetooth devices also turn on.
Looks great, good job identifying the underlying incompatibility with the fadeInTime. Can you confirm if the Wave and Blink options work correctly on the Bluetooth Pro without having to modify the fadeInTime for those commands? |
The `long` option on the Wave method does not work on Luxafor Bluetooth Pro, so I propose the OverlappingLong alternative which works. For the Blink method with a single repetition does not work on Luxafor Bluetooth Pro. With 2 repetitions it works
I have just done several tests on the Luxafor Bluetooth Pro. Here are the results:
I also notice that the For the Blink function, it works directly but not from the LuxaforOnAir application, and I make almost the same observation, if changes the This additional commit addresses compatibility issues with Luxafor Bluetooth Pro devices, specifically improving the functionality of the Wave and Blink methods. Main changes:
Technical details:
Testing results for Wave types on Luxafor Bluetooth Pro:
Please review these changes and provide any feedback or suggestions for improvement. If you have any questions about the test results or the implemented changes, feel free to ask. |
Thanks, I reviewed these changes with the standard Luxafor light today and we're close to a fix. The repeatCount of 2 for the Blink behavior works fine, and I will adjust the internal timer to compensate for the longer blink effect (I've been testing with 6s instead of 3s). The Wave change has a couple issues, one of which is easy to address and the other more time-consuming. The overlapping wave types combine the requested color (e.g. red) with the previous color, so we get a wave between red and green, which is very different from waving only red (which is what the standard short/long wave does). We can work around this by inserting the following line immediately before the Wave function is called on line 118. This causes the red wave to overlap with an almost-off solid red light, which comes very close to the look of the standard wave.
Changing the repeatCount to 2 is a more complicated problem. The blink and wave behaviors in LuxaforOnAir are implemented slightly differently: as mentioned above, Blink uses a timer within the app to repeat the blink periodically, but Wave relies on the constant repeat that a repeatCount of 0 is supposed to perform. By changing the repeatCount to 2, it waves twice - and then stops waving and remains solid. I'll likely come back to this tomorrow but at this time I am minded to accept the PR as-is and figure out an adjustment to compensate for the changed Wave behavior (probably using the internal timer currently in use for Blink). As an aside, I reviewed the code for the LuxaforSharp library I use to interface with the lights to see if there was an obvious incompatibility that could be addressed, but I can't see any reason that these commands work differently on the Bluetooth Pro. It's disappointing that Luxafor have not implemented the commands for the newer model in a way that is consistent with the earlier models. |
I confirm that LuxaforSharp does not have any bugs, it is the Luxafor Bluetooth Pro that has the bug. Inside, there is documentation with the expected behaviors and the data to send to the HID, and I tested the raw calls directly from their dev tool to do the tests and my comparison table above. If I have some time, I will complete my table above with all the features (repetition tests, by type, etc.) |
This Pull Request addresses a compatibility issue with Luxafor Bluetooth Pro devices, specifically resolving a problem where the external indicator wasn't changing color properly.
Main changes:
SetColor
method to explicitly passnull
as thefadeInTime
value.Technical details:
null
forfadeInTime
, we force the use of the "JumpTo" command instead of "FadeTo".Testing:
Impact on the project:
Additional notes:
Please review these changes and feel free to provide any feedback or suggestions for improvement.
In connection with the issue: #8